Many computers systems utilize firmware, such as a universal extensible firmware interface (UEFI) or basic input/output system (BIOS), when booting up the computer system. The firmware may perform various services during boot-up, after which the system may operate in runtime under the control of an operating system (O/S). The firmware is often stored on a non-volatile memory, such as non-volatile random access memory (NVRAM), of the computer system.
In some cases, a firmware, or components thereof, may need to be updated. For example, one or more components of firmware may be updated at some point after build time, when a computer system is first built and configured, such as by a system manufacturer. The NVRAM on which the firmware is stored may, in some cases, be erasable only in blocks, or otherwise predetermined segments of memory space. As a result, erasing and rewriting components of a firmware may entail erasing a section of memory that is greater in size than just the firmware components that are to be updated. This may pose difficulty in orchestrating the update of firmware components and/or files.
In addition to difficulty in updating firmware components and/or files stored on a NVRAM, if one or more firmware components and/or files are deleted, and then a problem is encountered in writing updated versions of those components and/or files, then the system may be rendered inoperable. Recovering from such an inoperable state may entail restoring the entirety of the firmware which, in some cases, may require a field and/or service technician. Alternatively, recovery from a failed firmware update may be possible by having a computing system with a redundant copy of the firmware.
Further still, if an updated firmware component and/or file is inoperable, incorrectly updated, or otherwise defective, the computer system may be rendered inoperative and/or unable to bootup. Recovery from such a state may entail additional hardware, personnel, and/or additional recovery steps.
It is with respect to these considerations and others that the disclosure made herein is provided.